const express = require('express');
const router = express.Router();
const MpUser = require('../models/MpUser');
const moment = require('moment');

// 保存粉丝接口
router.post('/saveFans', async (req, res) => {
  try {
    const { data } = req.body;
    
    // 将字符串转换为JSON对象数组
    let fansArray;
    try {
      fansArray = JSON.parse(data);
      if (!Array.isArray(fansArray)) {
        throw new Error('数据格式错误，必须是数组');
      }
    } catch (err) {
      return res.status(400).json({
        success: false,
        message: '数据格式错误，无法解析JSON',
        error: err.message
      });
    }

    // 处理每个粉丝数据
    const results = [];
    for (const fan of fansArray) {
      try {
        // 确保必要字段存在
        if (!fan.nickname || !fan.appid || !fan.openid) {
          throw new Error('缺少必要字段(nickname, appid, openid)');
        }

        // 添加创建时间
        fan.createAt = moment().format('YYYY-MM-DD HH:mm:ss');
        
        // 设置默认状态
        fan.status = fan.status || '0';

        // 保存到数据库
        const id = await MpUser.create(fan);
        results.push({
          success: true,
          id,
          openid: fan.openid
        });
      } catch (err) {
        results.push({
          success: false,
          openid: fan.openid,
          error: err.message
        });
      }
    }

    // 返回处理结果
    res.json({
      success: true,
      message: '处理完成',
      total: fansArray.length,
      results
    });

  } catch (err) {
    res.status(500).json({
      success: false,
      message: '服务器错误',
      error: err.message
    });
  }
});

module.exports = router; 